package cc.comac.saic.hkhy.jsrj.gj.inttools.mapper;

import java.util.List;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import cc.comac.saic.hkhy.jsrj.gj.common.mybatis.core.mapper.BaseMapperPlus;
import cc.comac.saic.hkhy.jsrj.gj.inttools.pojo.entity.SysAsyncTask;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;

/**
 * 异步任务表(SysAsyncTask)表数据库访问层
 *
 * @author makejava
 * @since 2025-11-20 10:29:13
 */
public interface SysAsyncTaskMapper extends BaseMapperPlus<SysAsyncTask,SysAsyncTask> {

    int insertTask(SysAsyncTask task);

    SysAsyncTask selectTaskById(Long id);

    List<SysAsyncTask> selectTaskList(SysAsyncTask task);

    int updateTask(SysAsyncTask task);

    int updateTaskStatus(@Param("id") Long id,
                         @Param("status") String status,
                         @Param("errorMessage") String errorMessage);

    int updateTaskProgress(@Param("id") Long id,
                           @Param("progress") Integer progress);

    int updateTaskResult(@Param("id") Long id,
                         @Param("resultData") String resultData,
                         @Param("status") String status);

    int deleteTaskByIds(Long[] ids);

    List<SysAsyncTask> selectExpiredTasks(@Param("days") int days);
}

